Parameterbestimmung mit auto_arima()

Es wird zunächst die Funktion auto_airma() verwendet, um einen geeigneten Parametersatz zu finden.

auto_arima()

Die Funktion ermittelt ein ARIMA(2,0,2)(2,0,2)7 als bestes Modell. Es ist dabei zu erkennen, dass die Funktion höchstens Module dritter Ordnung verwendet. Darüber hinaus scheinen zusätzliche Lags keine ausreichenden Verbesserungen zu erzielen.

ARIMA(2,0,2)(2,0,2)7

Mit einem MAPE von 3,21% ist das Modell bereits sehr nah an den tatsächlichen Werten. Die wöchentliche und jährliche Saisonalität kann gut erfasst werden. Die Log-Likelihood von 3.038 und das AIC von -6.058 lassen sich nicht absolut interpretieren und können daher erst im Kontext weiterer Modelle bewertet werden. In der Spalte „P>|Z|“ lassen sich die p-Werte der einzelnen Koeffizienten der Module ablesen. Es ist zu erkennen, dass einzelne Koeffizienten insignifikant sind. Das bedeutet zwar nicht zwangsweise, dass diese Koeffizienten keine Generalisierung erzielen, allerdings bietet es sich an, ein Modell ohne die insignifikanten Lags zu testen.

ARIMA(1,0,2)([2],0,[2])7

Es werden das zweie Lag beim AR-Modul und die ersten Lags bei den SAR- und SMA-Modulen entfernt. Dadurch verschlechtern sich MAPE, Log-Likelihood und AIC ein wenig. Die Lags werden zwar als insignifikant erkannt, allerdings scheint es sich nicht um einen Fall von Überanpassung zu handeln. Außerdem fällt auch das AIC, die zusätzlichen Lags scheinen dem Modell also doch einen gewissen Informationsgehalt zu bieten.

Verbesserung durch zusätzliche Lags (mit ACF/PACF)

Die von der auto_arima()-Funktion ermittelten Parameter erzielen zwar gute Ergebnisse, allerdings ist die Funktion selbstverständlich nicht zu 100 % zuverlässig. Es wird daher weiterhin versucht, mit Hilfe der ACF/PACF und der Auswertung der einzelnen Modelle eine Ordnung zu finden, die bessere Ergebnisse erzielt.

ARIMA(3,0,3)(3,0,3)7

Wenn die dritten Ordnungen der Module verwendet werden, führt dies zu keiner Verbesserung des Modells. Der MAPE fällt auf 3,25%, Die Log-Likelihood fällt auf 3.003 ab und auch das AIC steigt auf -5.979. Es handelt sich zwar um eine leichte Verbesserung im Vergleich zum ARIMA(1,0,2)([2],0,[2])7, jedoch kann das initiale Modell ARIMA(2,0,2)(2,0,2) nicht übertroffen werden, obwohl sehr viel mehr Lags benutzt werden. Obwohl die Log-Likelihood im Vergleich zum initialen Modell fällt, kann eine Überanpassung nicht ausgeschlossen werden, da sehr viele Koeffizienten insignifikant sind.

ARIMA(3,0,2)(0,0,0)7

Werden die insignifikanten Lags aus dem ARIMA(3,0,3)(3,0,3)7 entfernt, nimmt die Güte des Modells sehr stark ab. Es werden praktisch die gesamten saisonalen Komponenten deaktiviert. Dadurch steigt der MAPE auf über 9%, Log-Likelihood und AIC sind ebenfalls sehr schlecht.

ARIMA(4,0,4)(4,0,4)7

Wenn die vierten Ordnungen verwendet werden, handelt es sich bereits um ein sehr großes Modell mit 16 Koeffizienten. Ein derart umfangreiches Modell sollte eigentlich nicht verwendet werden, wird hier allerdings trotzdem betrachtet. Der MAPE fällt zwar auf 3,19%, da die Log-Likelihood mit 3.052 und das AIC mit -6.070 nur gering verbessert werden, ist hier von einer Überanpassung auszugehen. Dies wird auch durch die vielen, insignifikanten Lags deutlich.

ARIMA([1,2,6],0,2)(3,0,2)7

Beim ARIMA([1,2,6],0,2)(3,0,2)7 werden nur die durch ACF/PACF als stark korrelierten Lags verwendet. Der MAPE ist mit 3,20% sehr ähnlich wie beim initialen Modell, auch Log-Likelihood ist sehr ähnlich. Das Modell verwendet allerdings zwei zusätzliche Lags, weshalb das AIC auf -6.048 ansteigt (-6.058 beim initialen Modell). Es ist hier also von einer Überanpassung auszugehen.

ARIMA(3,0,2)(2,0,2)7

Beim ARIMA(3,0,2)(2,0,2)7 wird ein größeres AR-Modul verwendet. Es zeigt sich ein ähnliches Verhalten wie beim ARIMA([1,2,6],0,2)(3,0,2)7, das Modell passt sich aufgrund der zusätzlichen Lags etwas stärker an die Trainingsdaten an, weshalb das AIC ansteigt. Gleichzeitig fällt die Güte des Modells aber ab. Es ist also auch hier von Überanpassungen auszugehen.